package jia.core.event;

import jia.core.flags.DamageEventFlags;

/**
 * This event class handles the various aspects of dealing damage to a player character
 * (or characters) while traversing the level, but not engaging in a combat event.  An
 * example of this might be a falling spikes trap, or a spell trap.
 *
 * The class should handle things like determining whether just one or the entire party is
 * affected, how much damage is to be dealt (in terms of #d#), and whether the event is
 * repeatable.  In addition, there should be a specific flag that determines whether this is
 * the result of a trap, or a direct action from the game files.  If it is a trap, and the
 * party has a thief and is searching, there should be an option for them to disarm the trap.
 *
 * Key Fields:
 *
 * <ul>
 * 	<li>disarmDifficulty - int - difficulty rating for disarming the trap</li>
 * 	<li>damageDice - int (number of sides for the dice)</li>
 * 	<li>numberDice - int (number of dice)</li>
 * 	<li></li>
 * </ul>
 */
public class DamageEvent extends AbstractGameEvent{
	private int disarmDifficulty;
	private int damageDice;
	private int numberDice;
	private DamageEventFlags damageFlags;

	public int getDisarmDifficulty(){
		return disarmDifficulty;
	}

	public void setDisarmDifficulty(int disarmDifficulty){
		this.disarmDifficulty = disarmDifficulty;
	}

	public int getDamageDice(){
		return damageDice;
	}

	public void setDamageDice(int damageDice){
		this.damageDice = damageDice;
	}

	public int getNumberDice(){
		return numberDice;
	}

	public void setNumberDice(int numberDice){
		this.numberDice = numberDice;
	}

	public DamageEventFlags getDamageFlags(){
		return damageFlags;
	}

	public void setDamageFlags(DamageEventFlags damageFlags){
		this.damageFlags = damageFlags;
	}
}
